Dado este código:
let arr = await fetch(...).then(r => r.json()); for(let [a, b] of arr) { console.log(a, b); } ¿Qué podría causar el mensaje de error críptico/inútil .for is not iterable in Chromium/Node.js? En Firefox, el mensaje de error es Uncaught TypeError: arr[Symbol.iterator]().next().value is not iterable .
Esto me confundió durante unos minutos, así que me imagino que hasta que hagan que estos mensajes de error sean más amigables, sería útil tener una pregunta/respuesta SO para ello. Vea la respuesta a continuación.
Este error ocurre porque la matriz no contiene matrices; por ejemplo, puede contener objetos como este:
let arr = [{a:1, b:2}, {a:3, b:4}]; Entonces, el código for/of debería verse así:
for(let {a, b} of arr) { console.log(a, b); }